#ifndef INCLUDE_PLAYEROBJECTMANAGER_H
#define INCLUDE_PLAYEROBJECTMANAGER_H

#include <vector>
#include <string>

class PlayerObject;

class PlayerObjectManager
{
public:
    static PlayerObjectManager& Instance();
    PlayerObjectManager();
    virtual ~PlayerObjectManager();

    void ParseConfigFile( const std::vector<std::string>& vecDefFiles, const std::string& strObjFile );

    std::vector<PlayerObject>& GetDynamicObjects();
    const std::vector<PlayerObject>& GetStaticObjects();

private:
    std::string ParseObjectName( const std::string& strObsName, std::string& strLine );
    void ParseObject( std::string& strLine, PlayerObject& oObj );
    void ParseObjectSize( std::string& strLine, double& dWidth, double& dBreadth, double& dHeight );

private:
    std::vector<PlayerObject> m_vecDynamicObjects;
    std::vector<PlayerObject> m_vecStaticObjects;
};

#endif
